syntax = "proto3"; import "google/protobuf/empty.proto"; package Hexagon.NCS.OfflineManager.V1; service OfflineManagerService { rpc PullArchive(google.protobuf.Empty) returns (stream PullArchiveResponse); // NCSOM pull archive from NCS. rpc PushArchive(stream PushArchiveRequest) returns (PushArchiveResponse); // NCSOM push archive to NCS. rpc PullProbeFile(PullProbeFileRequest) returns (stream PullProbeFileResponse); // NCSOM pull probe from NCS. rpc GetArchiveNotices(google.protobuf.Empty) returns (stream GetArchiveNoticesResponse); // NCSOM get archive changed notices from NCS. } message PullArchiveResponse { string FileName = 1; bytes FileData = 2; bool FileEOF = 3; } message PushArchiveRequest { string FileName = 1; bytes FileData = 2; bool FileEOF = 3; } message PushArchiveResponse { bool IsSuccess = 1; string ErrorInfo = 2; } message PullProbeFileRequest { int32 MachineId = 1; string ProbeFileName = 2; } message PullProbeFileResponse { bytes FileData = 1; bool FileEOF = 2; } enum gArchiveType { // key files MachineData = 0; Probe = 1; DmisProgram = 2; CAD = 3; PostFile = 4; JournalFile = 5; // .dat file ToolDat = 6; ProbeDat = 7; UsrprobeDat = 8; UsermachineDat = 9; } enum gChangedType { Created = 0; Deleted = 1; Changed = 2; Renamed = 3; } message GetArchiveNoticesResponse { gArchiveType ArchiveType = 1; gChangedType ChangedType = 2; string FilePath = 3; string OldFilePath = 4; int32 MachineId = 5; }